package com.leyou.item.service;

import com.leyou.common.vo.PageResult;
import com.leyou.item.dto.BrandDTO;
import com.leyou.item.pojo.TbBrand;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 * 品牌表，一个品牌下有多个商品（spu），一对多关系 服务类
 * </p>
 *
 * @author leyou
 * @since 2020-02-29
 */
public interface TbBrandService extends IService<TbBrand> {

    /**
     * 查询 品牌数据
     *
     * @param page   当前页码
     * @param rows   每页显示多少条
     * @param key    关键字  不必须
     * @param sortBy 排序字段 不必须
     * @param desc   是否降序
     * @return 品牌数据
     */
    PageResult<BrandDTO> searchPage(Integer page, Integer rows, String key, String sortBy, Boolean desc);

    /**
     * 品牌新增
     *
     * @param tbBrand 品牌数据
     * @param cids    分类id
     */
    void saveBrand(TbBrand tbBrand, List<Long> cids);

    /**
     * 品牌 修改
     *
     * @param tbBrand 品牌数据
     * @param cids    分类id集合
     */
    void updateBrand(TbBrand tbBrand, List<Long> cids);

    /**
     * 删除品牌
     *
     * @param brandId 品牌id
     */
    void deleteBrand(Long brandId);


    /**
     * 新增商品时 根据分类查询所有品牌信息
     *
     * @param categoryId
     * @return
     */
    List<BrandDTO> queryByCategoryId(Long categoryId);

    BrandDTO findByid(Long id);

    List<BrandDTO> findBrandsByIds(List<Long> ids);
}
